package cn.com.joycode.nimble.core.message;

/**
 * @author Max Woods
 * @since 1.0
 */
public interface NbMsgBuilder {

    /**
     * 返回一个新生成的{@link NbMsg}对象
     *
     * @return {@link NbMsg}对象
     */
    NbMsg build();

    NbMsg buildRequest();

    NbMsg buildResponse();

    NbMsg buildResponse(NbMsg reqMsg);

    NbMsg buildResponse(NbMsg reqMsg, Boolean copyReq);

    NbMsg buildSuccessResponse();


    NbMsg buildSuccessResponse(NbMsg reqMsg);

    NbMsg buildSuccessResponse(NbMsg reqMsg, boolean copyReq);

    NbMsg buildFailResponse();

    NbMsg buildNotice();

}
